﻿#ifndef WIDGET_H
#define WIDGET_H
#include<QObject>
#include<QDebug>
class widget : public QObject
{
    Q_OBJECT
public:
    // 构造函数
    widget(){
        qDebug()<<"widget 构造函数初始化 ...";
    }
    // 获取 类成员 属性值
    //unsigned int number： qml 中调用的属性值， hwidget.number
    //READ num : 当qml 获取 number 的时候 就会调用 num 函数
    //WRITE setnum : 当qml 设置 number 的时候 就会调用 setnum 函数
    // NOTIFY numchange: 与属性关联的可选信号。这个信号必须在类中声明过，当属性值改变时，
    //就可触发这个信号，可以没有参数，有参数的话只能是一个类型同属性本身类型的参数，用来记录属性改变后的值。
    Q_PROPERTY(unsigned int number READ num WRITE setnum NOTIFY numchange);
    int m_num =10;
    int num()
    {
        qDebug()<<"获取属性 num:"<<m_num;
        return m_num;
    }
    void setnum(int number)
    {
        qDebug()<<"设置 属性 num :" << number;
        m_num = number;
        emit numchange(number);
    }
signals:
    void numchange(int);
};
#endif // WIDGET_H
